package com.suda.annotation;

import com.suda.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author: 不之味
 * @CreateTime: 2024-11-18
 * 自定义注解,用于标识某个方法需要进行功能字段自动填充处理
 *  1自定义注解 AutoFill，用于标识需要进行公共字段自动填充的方法
 *  2自定义切面类 AutoFillAspect，统一拦截加入了 AutoFill 注解的方法，通过反射为公共字段赋值
 *  3在 Mapper 的方法上加入 AutoFill 注解
 */
//表示只能加在方法上面
@Target(ElementType.METHOD)
//表示该注解在运行时可以通过反射机制获取。
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoFill {
    //数据库操作类型: INSERT,UPDATE
    OperationType value();

}
